//
//  CompereModel.h
//  RainbowFM
//
//  Created by Kratos on 14/12/22.
//  Copyright (c) 2014年 RB. All rights reserved.
//

#import <Foundation/Foundation.h>

#import "BaseModel.h"
#import "RFMImageView.h"

@class CompereItem;


//主持人类型
typedef NS_ENUM(int, AnchorType){
    AnchorTypeAll = 1,//所有主持人
    AnchorTypeMy//我的主持人
};

//操作类型
typedef NS_ENUM(int, OperType){
    OperTypeAdd = 1,//添加
    OperTypeModify,//修改
    OperTypeDelete//删除
};

//评论对象
typedef NS_ENUM(int, CommentType){
    CommentTypeForCompereLeave = 1,//主持人留言
    CommentTypeForLiveLeave,//观看直播留言
    CommentTypeForFeedback//3：意见反馈
};

//请求类型
typedef NS_ENUM(int, RequestType){
    RequestTypeAll = 0,//所有类型
    RequestTypeMy,//我的留言
    RequestTypeOther//其他用户留言
};

#define Feedback_CmtTarget @"PLAT01"

@interface CompereModel : NSObject

+(instancetype)sharedModel;

/**
 * 主持人列表
 * @param pageSize <#pageSize description#>
 * @param currentPage <#currentPage description#>
 * @return <#return value description#>
 * @author Kratos
 */
-(void)fetchComperesListWithAnchorType:(AnchorType)type
                              PageSize:(int)pageSize
                           currentPage:(int)currentPage
                                result:(void (^)(NSArray *compereList, NSString *msg))res;



/**
 * 主持人详情
 * @param anchorId <#anchorId description#>
 * @return <#return value description#>
 * @author Kratos
 */
-(void)fetchCompereInfoWithAnchorId:(NSString *)anchorId
                           result:(void (^)(CompereItem *compere, NSString *msg))res;


/**
 * 编辑主持人
 * @param anchorId <#anchorId description#>
 * @return <#return value description#>
 * @author Kratos
 */
-(void)operCompereWithAnchorId:(NSString *)anchorId
                     operType:(OperType)type
                     result:(void (^)(BOOL success, NSString *msg))res;


/**
 * 管理留言
 * @param userId 当前登陆用户ID Y
 * @param ucode 手机客户端填写imei信息，WAP，WEB填写cookies）
 * @param oper 操作码 Y
 //1：添加
 //2：修改
 //3：删除
 * @param cmtType 评论对象 Y
 //1：主持人留言
 //2：观看直播留言
 //3：意见反馈
 * @param cmtId 评论ID（仅当操作码为2,3时，此字段不能为空，当操作码为1时，此字段为空）N
 * @param cmtContent 评论内容（填写原始内容，敏感词汇，将在服务器保存，并且将敏感词替换成*） Y
 * @param soundUrl 声音文件地址（相对路径）Y
 * @param picUrl 图片文件地址（相对路径）Y
 * @param cmtTarget 评论对象ID(当cmtType为1时，这里填写主持人ID，当为2时，这里填写观看直播ID，当为3时，传递PLAT01)
 * @param replyCmtId 回复评论ID（如果直接回复活动，则为空，如果回复评论，则为被评论ID）这里目前为空
 * @return <#return value description#>
 * @author Kratos
 */
-(void)manageLeaveWordsWithOper:(OperType)oper
                          cmtType:(CommentType)cmtType
                            cmtId:(NSString *)cmtId
                       cmtContent:(NSString *)cmtContent
                         soundUrl:(NSString *)soundUrl
                           picUrl:(NSString *)picUrl
                        cmtTarget:(NSString *)cmtTarget
                       replyCmtId:(NSString *)replyCmtId
                           result:(void (^)(BOOL success, NSString *msg))res;


/**
 * 留言列表
 * @param userId <#userId description#> Y
 * @param ucode <#ucode description#> N
 * @param cmtType 评论对象 N
 //1：主持人留言
 //2：观看直播留言
 //3：意见反馈
 * @param cmtTarget 评论对象ID(当cmtType为1时，这里填写主持人ID，当为2时，这里填写观看直播ID，当为3时，传递PLAT01) Y
 * @param reqType 请求类型 Y
 //0-所有类型
 //1-我的留言
 //2-其他用户留言
 * @param pageSize 每页显示记录数 Y
 * @param currentPage 当前页码 Y
 * @return <#return value description#>
 * @author Kratos
 */
-(void)fetchLeaveWordsListWithCmtType:(CommentType)cmtType
                           cmtTarget:(NSString *)cmtTarget
                             reqType:(RequestType)reqType
                            pageSize:(int)pageSize
                         currentPage:(int)currentPage
                              result:(void (^)(NSArray *list, NSString *msg))res;

@end


@interface CompereItem : BaseModel
@property (nonatomic , strong) NSString *anchorId;//主持人ID
@property (nonatomic , strong) NSString *anchorName;//主持人名称
@property (nonatomic , strong) NSString *fansNum;//粉丝数
@property (nonatomic , strong) NSString *content;//主持人简介
@property (nonatomic , strong) NSString *anchorHeadPic;//主持人头像
@property (nonatomic , strong) NSString *detail;//主持人详情
@property (nonatomic , strong) NSString *pics;//主持人多个图片，用分号分割
@property (nonatomic , strong) NSString *videos;//主持人视频，用分号分割
@property (nonatomic , strong) NSString *videoPics;//主持人视频图片，用分号分割
@property (nonatomic , strong) NSString *isNotice;//是否关注主持人(1-是，0-否)

@property (nonatomic , strong) NSArray *picsArray;
@property (nonatomic , strong) NSArray *videosArray;
@property (nonatomic , strong) NSArray *videoPicsArray;

@property (nonatomic , strong) NSArray *allPicsForItemArray;//包含所有的图片，用RFMImageItem封装
@end



@interface LeaveWordItem : BaseModel

@property (nonatomic , strong) NSString *cmtId;//评论ID
@property (nonatomic , strong) NSString *cmtContent;//评论内容（去除掉敏感词后的内容）
@property (nonatomic , strong) NSString *cmtUserId;//评论用户Id
@property (nonatomic , strong) NSString *cmtUserName;//评论用户名称
@property (nonatomic , strong) NSString *replyCmtId;//回复评论ID（如果直接回复意见反馈，则为空，如果回复评论，则为被评论ID）
@property (nonatomic , strong) NSString *cmtDt;//评论时间（格式yyyy-MM-dd HH:mm:ss）
@property (nonatomic , strong) NSString *soundUrl;//评论声音
@property (nonatomic , strong) NSString *picUrl;//图片文件

@property (nonatomic , assign) NSInteger leaveWordType;//1 主持人 2 观众 3 我

@property (nonatomic , assign) NSInteger type;
@end